From 896769df691bcdf0b6a139a7bdce5056be6cba25 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 1 Jul 2011 10:15:36 -0400 Subject: [PATCH] Convert GailExpander to GtkExpanderAccessible At the same time, drop the AtkText implementation. Also, reintroduce a GtkBoxAccessible, since the previous way of setting the role in get_accessible was affecting GtkBox subclasses negatively. Adjust expected test output to match. --- gtk/a11y/Makefile.am | 6 +- gtk/a11y/gail.c | 3 - gtk/a11y/gailexpander.c | 435 ------------------------------ gtk/a11y/gailexpander.h | 56 ---- gtk/a11y/gtkboxaccessible.c | 46 ++++ gtk/a11y/gtkboxaccessible.h | 51 ++++ gtk/a11y/gtkexpanderaccessible.c | 290 ++++++++++++++++++++ gtk/a11y/gtkexpanderaccessible.h | 51 ++++ gtk/a11y/gtkstatusbaraccessible.c | 2 +- gtk/a11y/gtkstatusbaraccessible.h | 7 +- gtk/gtkbox.c | 19 +- gtk/gtkexpander.c | 3 + tests/a11y/about.txt | 38 +-- tests/a11y/appchooser.txt | 28 +- tests/a11y/assistant.txt | 16 +- tests/a11y/colorchooser.txt | 56 ++-- tests/a11y/infobar.txt | 2 +- tests/a11y/messagedialog.txt | 20 +- tests/a11y/placeholder-text.txt | 2 +- 19 files changed, 533 insertions(+), 598 deletions(-) delete mode 100644 gtk/a11y/gailexpander.c delete mode 100644 gtk/a11y/gailexpander.h create mode 100644 gtk/a11y/gtkboxaccessible.c create mode 100644 gtk/a11y/gtkboxaccessible.h create mode 100644 gtk/a11y/gtkexpanderaccessible.c create mode 100644 gtk/a11y/gtkexpanderaccessible.h diff --git a/gtk/a11y/Makefile.am b/gtk/a11y/Makefile.am index 60f967ee23..834a05eaa6 100644 --- a/gtk/a11y/Makefile.am +++ b/gtk/a11y/Makefile.am @@ -6,6 +6,7 @@ gail_c_sources = \ gail.c \ gtkarrowaccessible.c \ gailbooleancell.c \ + gtkboxaccessible.c \ gailbutton.c \ gailcell.c \ gailcellparent.c \ @@ -15,7 +16,7 @@ gail_c_sources = \ gailcontainer.c \ gailcontainercell.c \ gtkentryaccessible.c \ - gailexpander.c \ + gtkexpanderaccessible.c \ gtkframeaccessible.c \ gtkimageaccessible.c \ gailimagecell.c \ @@ -56,6 +57,7 @@ libgailincludedir=$(includedir)/gail-3.0/gail gail_private_h_sources = \ gtkarrowaccessible.h \ gailbooleancell.h \ + gtkboxaccessible.h \ gailbutton.h \ gailcell.h \ gailcellparent.h \ @@ -65,7 +67,7 @@ gail_private_h_sources = \ gailcontainercell.h \ gailcontainer.h \ gtkentryaccessible.h \ - gailexpander.h \ + gtkexpanderaccessible.h \ gailfactory.h \ gtkframeaccessible.h \ gtkimageaccessible.h \ diff --git a/gtk/a11y/gail.c b/gtk/a11y/gail.c index 3aa11ded61..623de9cfc2 100644 --- a/gtk/a11y/gail.c +++ b/gtk/a11y/gail.c @@ -29,7 +29,6 @@ #include "gailcheckmenuitem.h" #include "gailcontainer.h" #include "gailcontainercell.h" -#include "gailexpander.h" #include "gailimagecell.h" #include "gailmenu.h" #include "gailmenushell.h" @@ -95,7 +94,6 @@ GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_MENU, GailMenu, gail_menu, GTK_TYPE_MENU) GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_WINDOW, GailWindow, gail_window, GTK_TYPE_BIN) GAIL_IMPLEMENT_FACTORY_WITH_FUNC (GAIL_TYPE_CHECK_MENU_ITEM, GailCheckMenuItem, gail_check_menu_item, gail_check_menu_item_new) GAIL_IMPLEMENT_FACTORY_WITH_FUNC (GAIL_TYPE_RADIO_MENU_ITEM, GailRadioMenuItem, gail_radio_menu_item, gail_radio_menu_item_new) -GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_EXPANDER, GailExpander, gail_expander, GTK_TYPE_EXPANDER) GAIL_IMPLEMENT_FACTORY_WITH_FUNC_DUMMY (GAIL_TYPE_RENDERER_CELL, GailRendererCell, gail_renderer_cell, GTK_TYPE_CELL_RENDERER, gail_renderer_cell_new) GAIL_IMPLEMENT_FACTORY_WITH_FUNC_DUMMY (GAIL_TYPE_BOOLEAN_CELL, GailBooleanCell, gail_boolean_cell, GTK_TYPE_CELL_RENDERER_TOGGLE, gail_boolean_cell_new) GAIL_IMPLEMENT_FACTORY_WITH_FUNC_DUMMY (GAIL_TYPE_IMAGE_CELL, GailImageCell, gail_image_cell, GTK_TYPE_CELL_RENDERER_PIXBUF, gail_image_cell_new) @@ -853,7 +851,6 @@ gail_accessibility_module_init (void) GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CELL_RENDERER, gail_renderer_cell); GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CHECK_MENU_ITEM, gail_check_menu_item); GAIL_WIDGET_SET_FACTORY (GTK_TYPE_RADIO_MENU_ITEM, gail_radio_menu_item); - GAIL_WIDGET_SET_FACTORY (GTK_TYPE_EXPANDER, gail_expander); atk_focus_tracker_init (gail_focus_tracker_init); focus_tracker_id = atk_add_focus_tracker (gail_focus_tracker); diff --git a/gtk/a11y/gailexpander.c b/gtk/a11y/gailexpander.c deleted file mode 100644 index d8234ba60d..0000000000 --- a/gtk/a11y/gailexpander.c +++ /dev/null @@ -1,435 +0,0 @@ -/* GAIL - The GNOME Accessibility Implementation Library - * Copyright 2003 Sun Microsystems Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include "config.h" - -#include -#include -#include -#include "gailexpander.h" - -static void gail_expander_class_init (GailExpanderClass *klass); -static void gail_expander_init (GailExpander *expander); - -static const gchar* gail_expander_get_name (AtkObject *obj); -static gint gail_expander_get_n_children (AtkObject *obj) -; -static AtkObject* gail_expander_ref_child (AtkObject *obj, - gint i); - -static AtkStateSet* gail_expander_ref_state_set (AtkObject *obj); -static void gail_expander_real_notify_gtk (GObject *obj, - GParamSpec *pspec); -static void gail_expander_map_gtk (GtkWidget *widget, - gpointer data); - -static void gail_expander_real_initialize (AtkObject *obj, - gpointer data); -static void gail_expander_finalize (GObject *object); -static void gail_expander_init_textutil (GailExpander *expander, - GtkExpander *widget); -static const gchar* gail_expander_get_full_text (GtkExpander *widget); - -static void atk_action_interface_init (AtkActionIface *iface); -static gboolean gail_expander_do_action (AtkAction *action, - gint i); -static gint gail_expander_get_n_actions(AtkAction *action); -static const gchar* gail_expander_get_keybinding - (AtkAction *action, - gint i); -static const gchar* gail_expander_action_get_name - (AtkAction *action, - gint i); - -G_DEFINE_TYPE_WITH_CODE (GailExpander, gail_expander, GAIL_TYPE_CONTAINER, - G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)) - -static void -gail_expander_class_init (GailExpanderClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - AtkObjectClass *class = ATK_OBJECT_CLASS (klass); - GailWidgetClass *widget_class; - - widget_class = (GailWidgetClass*)klass; - widget_class->notify_gtk = gail_expander_real_notify_gtk; - - gobject_class->finalize = gail_expander_finalize; - - class->get_name = gail_expander_get_name; - class->get_n_children = gail_expander_get_n_children; - class->ref_child = gail_expander_ref_child; - class->ref_state_set = gail_expander_ref_state_set; - - class->initialize = gail_expander_real_initialize; -} - -static void -gail_expander_init (GailExpander *expander) -{ - expander->activate_keybinding = NULL; - expander->textutil = NULL; -} - -static const gchar* -gail_expander_get_name (AtkObject *obj) -{ - const gchar *name; - g_return_val_if_fail (GAIL_IS_EXPANDER (obj), NULL); - - name = ATK_OBJECT_CLASS (gail_expander_parent_class)->get_name (obj); - if (name != NULL) - return name; - else - { - /* - * Get the text on the label - */ - GtkWidget *widget; - - widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); - if (widget == NULL) - /* - * State is defunct - */ - return NULL; - - g_return_val_if_fail (GTK_IS_EXPANDER (widget), NULL); - - return gail_expander_get_full_text (GTK_EXPANDER (widget)); - } -} - -static gint -gail_expander_get_n_children (AtkObject* obj) -{ - GtkWidget *widget; - GList *children; - gint count = 0; - - g_return_val_if_fail (GAIL_IS_CONTAINER (obj), count); - - widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); - if (widget == NULL) - return 0; - - children = gtk_container_get_children (GTK_CONTAINER(widget)); - count = g_list_length (children); - g_list_free (children); - - /* See if there is a label - if there is, reduce our count by 1 - * since we don't want the label included with the children. - */ - if (gtk_expander_get_label_widget (GTK_EXPANDER (widget))) - count -= 1; - - return count; -} - -static AtkObject* -gail_expander_ref_child (AtkObject *obj, - gint i) -{ - GList *children, *tmp_list; - AtkObject *accessible; - GtkWidget *widget; - GtkWidget *label; - gint index; - - g_return_val_if_fail (GAIL_IS_CONTAINER (obj), NULL); - g_return_val_if_fail ((i >= 0), NULL); - - widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); - if (widget == NULL) - return NULL; - - children = gtk_container_get_children (GTK_CONTAINER (widget)); - - /* See if there is a label - if there is, we need to skip it - * since we don't want the label included with the children. - */ - label = gtk_expander_get_label_widget (GTK_EXPANDER (widget)); - if (label) { - for (index = 0; index <= i; index++) { - tmp_list = g_list_nth (children, index); - if (label == GTK_WIDGET (tmp_list->data)) { - i += 1; - break; - } - } - } - - tmp_list = g_list_nth (children, i); - if (!tmp_list) - { - g_list_free (children); - return NULL; - } - accessible = gtk_widget_get_accessible (GTK_WIDGET (tmp_list->data)); - - g_list_free (children); - g_object_ref (accessible); - return accessible; -} - -static void -gail_expander_real_initialize (AtkObject *obj, - gpointer data) -{ - GailExpander *gail_expander = GAIL_EXPANDER (obj); - GtkWidget *expander; - - ATK_OBJECT_CLASS (gail_expander_parent_class)->initialize (obj, data); - - expander = GTK_WIDGET (data); - if (gtk_widget_get_mapped (expander)) - gail_expander_init_textutil (gail_expander, GTK_EXPANDER (expander)); - else - g_signal_connect (expander, - "map", - G_CALLBACK (gail_expander_map_gtk), - gail_expander); - - obj->role = ATK_ROLE_TOGGLE_BUTTON; -} - -static void -gail_expander_map_gtk (GtkWidget *widget, - gpointer data) -{ - GailExpander *expander; - - expander = GAIL_EXPANDER (data); - gail_expander_init_textutil (expander, GTK_EXPANDER (widget)); -} - -static void -gail_expander_real_notify_gtk (GObject *obj, - GParamSpec *pspec) -{ - AtkObject* atk_obj; - GtkExpander *expander; - GailExpander *gail_expander; - - expander = GTK_EXPANDER (obj); - atk_obj = gtk_widget_get_accessible (GTK_WIDGET (expander)); -; - if (strcmp (pspec->name, "label") == 0) - { - const gchar* label_text; - - - label_text = gail_expander_get_full_text (expander); - - gail_expander = GAIL_EXPANDER (atk_obj); - if (gail_expander->textutil) - gail_text_util_text_setup (gail_expander->textutil, label_text); - - if (atk_obj->name == NULL) - { - /* - * The label has changed so notify a change in accessible-name - */ - g_object_notify (G_OBJECT (atk_obj), "accessible-name"); - } - /* - * The label is the only property which can be changed - */ - g_signal_emit_by_name (atk_obj, "visible_data_changed"); - } - else if (strcmp (pspec->name, "expanded") == 0) - { - atk_object_notify_state_change (atk_obj, ATK_STATE_CHECKED, - gtk_expander_get_expanded (expander)); - atk_object_notify_state_change (atk_obj, ATK_STATE_EXPANDED, - gtk_expander_get_expanded (expander)); - g_signal_emit_by_name (atk_obj, "visible_data_changed"); - } - else - GAIL_WIDGET_CLASS (gail_expander_parent_class)->notify_gtk (obj, pspec); -} - -static const gchar* -gail_expander_get_full_text (GtkExpander *widget) -{ - GtkWidget *label_widget; - - label_widget = gtk_expander_get_label_widget (widget); - - if (!GTK_IS_LABEL (label_widget)) - return NULL; - - return gtk_label_get_text (GTK_LABEL (label_widget)); -} - -static void -gail_expander_init_textutil (GailExpander *expander, - GtkExpander *widget) -{ - const gchar *label_text; - - expander->textutil = gail_text_util_new (); - label_text = gail_expander_get_full_text (widget); - gail_text_util_text_setup (expander->textutil, label_text); -} - -static void -atk_action_interface_init (AtkActionIface *iface) -{ - iface->do_action = gail_expander_do_action; - iface->get_n_actions = gail_expander_get_n_actions; - iface->get_keybinding = gail_expander_get_keybinding; - iface->get_name = gail_expander_action_get_name; -} - -static gboolean -gail_expander_do_action (AtkAction *action, - gint i) -{ - GtkWidget *widget; - gboolean return_value = TRUE; - - widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action)); - if (widget == NULL) - /* - * State is defunct - */ - return FALSE; - - if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget)) - return FALSE; - - switch (i) - { - case 0: - gtk_widget_activate (widget); - break; - default: - return_value = FALSE; - break; - } - return return_value; -} - -static gint -gail_expander_get_n_actions (AtkAction *action) -{ - return 1; -} - -static const gchar* -gail_expander_get_keybinding (AtkAction *action, - gint i) -{ - GailExpander *expander; - gchar *return_value = NULL; - - switch (i) - { - case 0: - { - /* - * We look for a mnemonic on the label - */ - GtkWidget *widget; - GtkWidget *label; - - expander = GAIL_EXPANDER (action); - widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (expander)); - if (widget == NULL) - /* - * State is defunct - */ - return NULL; - - g_return_val_if_fail (GTK_IS_EXPANDER (widget), NULL); - - label = gtk_expander_get_label_widget (GTK_EXPANDER (widget)); - if (GTK_IS_LABEL (label)) - { - guint key_val; - - key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label)); - if (key_val != GDK_KEY_VoidSymbol) - return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK); - g_free (expander->activate_keybinding); - expander->activate_keybinding = return_value; - } - break; - } - default: - break; - } - return return_value; -} - -static const gchar* -gail_expander_action_get_name (AtkAction *action, - gint i) -{ - const gchar *return_value; - - switch (i) - { - case 0: - return_value = "activate"; - break; - default: - return_value = NULL; - break; - } - return return_value; -} - -static AtkStateSet* -gail_expander_ref_state_set (AtkObject *obj) -{ - AtkStateSet *state_set; - GtkWidget *widget; - GtkExpander *expander; - - state_set = ATK_OBJECT_CLASS (gail_expander_parent_class)->ref_state_set (obj); - widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); - - if (widget == NULL) - return state_set; - - expander = GTK_EXPANDER (widget); - - atk_state_set_add_state (state_set, ATK_STATE_EXPANDABLE); - - if (gtk_expander_get_expanded (expander)) { - atk_state_set_add_state (state_set, ATK_STATE_CHECKED); - atk_state_set_add_state (state_set, ATK_STATE_EXPANDED); - } - - return state_set; -} - -static void -gail_expander_finalize (GObject *object) -{ - GailExpander *expander = GAIL_EXPANDER (object); - - g_free (expander->activate_keybinding); - if (expander->textutil) - g_object_unref (expander->textutil); - - G_OBJECT_CLASS (gail_expander_parent_class)->finalize (object); -} diff --git a/gtk/a11y/gailexpander.h b/gtk/a11y/gailexpander.h deleted file mode 100644 index 9883b3ddfc..0000000000 --- a/gtk/a11y/gailexpander.h +++ /dev/null @@ -1,56 +0,0 @@ -/* GAIL - The GNOME Accessibility Implementation Library - * Copyright 2003 Sun Microsystems Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GAIL_EXPANDER_H__ -#define __GAIL_EXPANDER_H__ - -#include "gailcontainer.h" -#include "gailtextutil.h" - -G_BEGIN_DECLS - -#define GAIL_TYPE_EXPANDER (gail_expander_get_type ()) -#define GAIL_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_EXPANDER, GailExpander)) -#define GAIL_EXPANDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_EXPANDER, GailExpanderClass)) -#define GAIL_IS_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_EXPANDER)) -#define GAIL_IS_EXPANDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_EXPANDER)) -#define GAIL_EXPANDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_EXPANDER, GailExpanderClass)) - -typedef struct _GailExpander GailExpander; -typedef struct _GailExpanderClass GailExpanderClass; - -struct _GailExpander -{ - GailContainer parent; - - gchar *activate_keybinding; - - GailTextUtil *textutil; -}; - -GType gail_expander_get_type (void); - -struct _GailExpanderClass -{ - GailContainerClass parent_class; -}; - -G_END_DECLS - -#endif /* __GAIL_EXPANDER_H__ */ diff --git a/gtk/a11y/gtkboxaccessible.c b/gtk/a11y/gtkboxaccessible.c new file mode 100644 index 0000000000..53526195fb --- /dev/null +++ b/gtk/a11y/gtkboxaccessible.c @@ -0,0 +1,46 @@ +/* GAIL - The GNOME Accessibility Implementation Library + * Copyright 2004 Sun Microsystems Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" + +#include +#include "gtkboxaccessible.h" + +G_DEFINE_TYPE (GtkBoxAccessible, gtk_box_accessible, GAIL_TYPE_CONTAINER) + +static void +gtk_box_accessible_initialize (AtkObject *accessible, + gpointer data) +{ + ATK_OBJECT_CLASS (gtk_box_accessible_parent_class)->initialize (accessible, data); + accessible->role = ATK_ROLE_FILLER; +} + +static void +gtk_box_accessible_class_init (GtkBoxAccessibleClass *klass) +{ + AtkObjectClass *class = ATK_OBJECT_CLASS (klass); + + class->initialize = gtk_box_accessible_initialize; +} + +static void +gtk_box_accessible_init (GtkBoxAccessible *scale) +{ +} diff --git a/gtk/a11y/gtkboxaccessible.h b/gtk/a11y/gtkboxaccessible.h new file mode 100644 index 0000000000..79598f52ee --- /dev/null +++ b/gtk/a11y/gtkboxaccessible.h @@ -0,0 +1,51 @@ +/* GAIL - The GNOME Accessibility Implementation Library + * Copyright 2004 Sun Microsystems Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GTK_BOX_ACCESSIBLE_H__ +#define __GTK_BOX_ACCESSIBLE_H__ + +#include "gailcontainer.h" + +G_BEGIN_DECLS + +#define GTK_TYPE_BOX_ACCESSIBLE (gtk_box_accessible_get_type ()) +#define GTK_BOX_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BOX_ACCESSIBLE, GtkBoxAccessible)) +#define GTK_BOX_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_BOX_ACCESSIBLE, GtkBoxAccessibleClass)) +#define GTK_IS_BOX_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_BOX_ACCESSIBLE)) +#define GTK_IS_BOX_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BOX_ACCESSIBLE)) +#define GTK_BOX_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_BOX_ACCESSIBLE, GtkBoxAccessibleClass)) + +typedef struct _GtkBoxAccessible GtkBoxAccessible; +typedef struct _GtkBoxAccessibleClass GtkBoxAccessibleClass; + +struct _GtkBoxAccessible +{ + GailContainer parent; +}; + +struct _GtkBoxAccessibleClass +{ + GailContainerClass parent_class; +}; + +GType gtk_box_accessible_get_type (void); + +G_END_DECLS + +#endif /* __GTK_BOX_ACCESSIBLE_H__ */ diff --git a/gtk/a11y/gtkexpanderaccessible.c b/gtk/a11y/gtkexpanderaccessible.c new file mode 100644 index 0000000000..105dfac2fe --- /dev/null +++ b/gtk/a11y/gtkexpanderaccessible.c @@ -0,0 +1,290 @@ +/* GAIL - The GNOME Accessibility Implementation Library + * Copyright 2003 Sun Microsystems Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" + +#include +#include +#include +#include "gtkexpanderaccessible.h" + +static void atk_action_interface_init (AtkActionIface *iface); + +G_DEFINE_TYPE_WITH_CODE (GtkExpanderAccessible, gtk_expander_accessible, GAIL_TYPE_CONTAINER, + G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)) + +static const gchar * +gtk_expander_accessible_get_full_text (GtkExpander *widget) +{ + GtkWidget *label_widget; + + label_widget = gtk_expander_get_label_widget (widget); + + if (!GTK_IS_LABEL (label_widget)) + return NULL; + + return gtk_label_get_text (GTK_LABEL (label_widget)); +} + +static const gchar * +gtk_expander_accessible_get_name (AtkObject *obj) +{ + GtkWidget *widget; + const gchar *name; + + widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); + if (widget == NULL) + return NULL; + + name = ATK_OBJECT_CLASS (gtk_expander_accessible_parent_class)->get_name (obj); + if (name != NULL) + return name; + + return gtk_expander_accessible_get_full_text (GTK_EXPANDER (widget)); +} + +static gint +gtk_expander_accessible_get_n_children (AtkObject *obj) +{ + GtkWidget *widget; + GList *children; + gint count = 0; + + widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); + if (widget == NULL) + return 0; + + children = gtk_container_get_children (GTK_CONTAINER(widget)); + count = g_list_length (children); + g_list_free (children); + + /* See if there is a label - if there is, reduce our count by 1 + * since we don't want the label included with the children. + */ + if (gtk_expander_get_label_widget (GTK_EXPANDER (widget))) + count -= 1; + + return count; +} + +static AtkObject * +gtk_expander_accessible_ref_child (AtkObject *obj, + gint i) +{ + GList *children, *tmp_list; + AtkObject *accessible; + GtkWidget *widget; + GtkWidget *label; + gint index; + + widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); + if (widget == NULL) + return NULL; + + children = gtk_container_get_children (GTK_CONTAINER (widget)); + + /* See if there is a label - if there is, we need to skip it + * since we don't want the label included with the children. + */ + label = gtk_expander_get_label_widget (GTK_EXPANDER (widget)); + if (label) + { + for (index = 0; index <= i; index++) + { + tmp_list = g_list_nth (children, index); + if (label == GTK_WIDGET (tmp_list->data)) + { + i += 1; + break; + } + } + } + + tmp_list = g_list_nth (children, i); + if (!tmp_list) + { + g_list_free (children); + return NULL; + } + accessible = gtk_widget_get_accessible (GTK_WIDGET (tmp_list->data)); + + g_list_free (children); + g_object_ref (accessible); + return accessible; +} + +static void +gtk_expander_accessible_initialize (AtkObject *obj, + gpointer data) +{ + ATK_OBJECT_CLASS (gtk_expander_accessible_parent_class)->initialize (obj, data); + + obj->role = ATK_ROLE_TOGGLE_BUTTON; +} + +static void +gtk_expander_accessible_notify_gtk (GObject *obj, + GParamSpec *pspec) +{ + AtkObject* atk_obj; + GtkExpander *expander; + + expander = GTK_EXPANDER (obj); + atk_obj = gtk_widget_get_accessible (GTK_WIDGET (expander)); +; + if (strcmp (pspec->name, "label") == 0) + { + if (atk_obj->name == NULL) + g_object_notify (G_OBJECT (atk_obj), "accessible-name"); + g_signal_emit_by_name (atk_obj, "visible_data_changed"); + } + else if (strcmp (pspec->name, "expanded") == 0) + { + atk_object_notify_state_change (atk_obj, ATK_STATE_CHECKED, + gtk_expander_get_expanded (expander)); + atk_object_notify_state_change (atk_obj, ATK_STATE_EXPANDED, + gtk_expander_get_expanded (expander)); + g_signal_emit_by_name (atk_obj, "visible_data_changed"); + } + else + GAIL_WIDGET_CLASS (gtk_expander_accessible_parent_class)->notify_gtk (obj, pspec); +} + +static AtkStateSet* +gtk_expander_accessible_ref_state_set (AtkObject *obj) +{ + AtkStateSet *state_set; + GtkWidget *widget; + GtkExpander *expander; + + widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); + if (widget == NULL) + return NULL; + + state_set = ATK_OBJECT_CLASS (gtk_expander_accessible_parent_class)->ref_state_set (obj); + + expander = GTK_EXPANDER (widget); + + atk_state_set_add_state (state_set, ATK_STATE_EXPANDABLE); + + if (gtk_expander_get_expanded (expander)) + { + atk_state_set_add_state (state_set, ATK_STATE_CHECKED); + atk_state_set_add_state (state_set, ATK_STATE_EXPANDED); + } + + return state_set; +} + +static void +gtk_expander_accessible_class_init (GtkExpanderAccessibleClass *klass) +{ + AtkObjectClass *class = ATK_OBJECT_CLASS (klass); + GailWidgetClass *widget_class = (GailWidgetClass*)klass; + + widget_class->notify_gtk = gtk_expander_accessible_notify_gtk; + + class->get_name = gtk_expander_accessible_get_name; + class->get_n_children = gtk_expander_accessible_get_n_children; + class->ref_child = gtk_expander_accessible_ref_child; + class->ref_state_set = gtk_expander_accessible_ref_state_set; + + class->initialize = gtk_expander_accessible_initialize; +} + +static void +gtk_expander_accessible_init (GtkExpanderAccessible *expander) +{ +} + +static gboolean +gtk_expander_accessible_do_action (AtkAction *action, + gint i) +{ + GtkWidget *widget; + + widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action)); + if (widget == NULL) + return FALSE; + + if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget)) + return FALSE; + + if (i != 0) + return FALSE; + + gtk_widget_activate (widget); + return TRUE; +} + +static gint +gtk_expander_accessible_get_n_actions (AtkAction *action) +{ + return 1; +} + +static const gchar * +gtk_expander_accessible_get_keybinding (AtkAction *action, + gint i) +{ + GtkExpanderAccessible *expander; + gchar *return_value = NULL; + GtkWidget *widget; + GtkWidget *label; + + widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action)); + if (widget == NULL) + return NULL; + + if (i != 0) + return NULL; + + expander = GTK_EXPANDER_ACCESSIBLE (action); + + label = gtk_expander_get_label_widget (GTK_EXPANDER (widget)); + if (GTK_IS_LABEL (label)) + { + guint key_val; + + key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label)); + if (key_val != GDK_KEY_VoidSymbol) + return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK); + } + + return return_value; +} + +static const gchar * +gtk_expander_accessible_action_get_name (AtkAction *action, + gint i) +{ + if (i != 0) + return NULL; + + return "activate"; +} + +static void +atk_action_interface_init (AtkActionIface *iface) +{ + iface->do_action = gtk_expander_accessible_do_action; + iface->get_n_actions = gtk_expander_accessible_get_n_actions; + iface->get_keybinding = gtk_expander_accessible_get_keybinding; + iface->get_name = gtk_expander_accessible_action_get_name; +} diff --git a/gtk/a11y/gtkexpanderaccessible.h b/gtk/a11y/gtkexpanderaccessible.h new file mode 100644 index 0000000000..986a9b3895 --- /dev/null +++ b/gtk/a11y/gtkexpanderaccessible.h @@ -0,0 +1,51 @@ +/* GAIL - The GNOME Accessibility Implementation Library + * Copyright 2003 Sun Microsystems Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GTK_EXPANDER_ACCESSIBLE_H__ +#define __GTK_EXPANDER_ACCESSIBLE_H__ + +#include "gailcontainer.h" + +G_BEGIN_DECLS + +#define GTK_TYPE_EXPANDER_ACCESSIBLE (gtk_expander_accessible_get_type ()) +#define GTK_EXPANDER_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_EXPANDER_ACCESSIBLE, GtkExpanderAccessible)) +#define GTK_EXPANDER_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_EXPANDER_ACCESSIBLE, GtkExpanderAccessibleClass)) +#define GTK_IS_EXPANDER_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_EXPANDER_ACCESSIBLE)) +#define GTK_IS_EXPANDER_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_EXPANDER_ACCESSIBLE)) +#define GTK_EXPANDER_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_EXPANDER_ACCESSIBLE, GtkExpanderAccessibleClass)) + +typedef struct _GtkExpanderAccessible GtkExpanderAccessible; +typedef struct _GtkExpanderAccessibleClass GtkExpanderAccessibleClass; + +struct _GtkExpanderAccessible +{ + GailContainer parent; +}; + +struct _GtkExpanderAccessibleClass +{ + GailContainerClass parent_class; +}; + +GType gtk_expander_accessible_get_type (void); + +G_END_DECLS + +#endif /* __GTK_EXPANDER_ACCESSIBLE_H__ */ diff --git a/gtk/a11y/gtkstatusbaraccessible.c b/gtk/a11y/gtkstatusbaraccessible.c index a2edef9f3b..404b1fa827 100644 --- a/gtk/a11y/gtkstatusbaraccessible.c +++ b/gtk/a11y/gtkstatusbaraccessible.c @@ -24,7 +24,7 @@ #include "gtkstatusbaraccessible.h" -G_DEFINE_TYPE (GtkStatusbarAccessible, gtk_statusbar_accessible, GAIL_TYPE_CONTAINER) +G_DEFINE_TYPE (GtkStatusbarAccessible, gtk_statusbar_accessible, GTK_TYPE_BOX_ACCESSIBLE) static void text_changed (GtkStatusbar *statusbar, diff --git a/gtk/a11y/gtkstatusbaraccessible.h b/gtk/a11y/gtkstatusbaraccessible.h index 13b478ae9a..941c04c97c 100644 --- a/gtk/a11y/gtkstatusbaraccessible.h +++ b/gtk/a11y/gtkstatusbaraccessible.h @@ -20,8 +20,7 @@ #ifndef __GTK_STATUSBAR_ACCESSIBLE_H__ #define __GTK_STATUSBAR_ACCESSIBLE_H__ -#include "gailcontainer.h" -#include "gailtextutil.h" +#include "gtkboxaccessible.h" G_BEGIN_DECLS @@ -37,12 +36,12 @@ typedef struct _GtkStatusbarAccessibleClass GtkStatusbarAccessibleClass; struct _GtkStatusbarAccessible { - GailContainer parent; + GtkBoxAccessible parent; }; struct _GtkStatusbarAccessibleClass { - GailContainerClass parent_class; + GtkBoxAccessibleClass parent_class; }; GType gtk_statusbar_accessible_get_type (void); diff --git a/gtk/gtkbox.c b/gtk/gtkbox.c index 69b3d77721..eacbabfad6 100644 --- a/gtk/gtkbox.c +++ b/gtk/gtkbox.c @@ -85,6 +85,7 @@ #include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtkintl.h" +#include "a11y/gtkboxaccessible.h" enum { @@ -198,8 +199,6 @@ static void gtk_box_get_preferred_height_for_width (GtkWidget gint *minimum_height, gint *natural_height); -static AtkObject *gtk_box_get_accessible (GtkWidget *widget); - G_DEFINE_TYPE_WITH_CODE (GtkBox, gtk_box, GTK_TYPE_CONTAINER, G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, @@ -222,7 +221,6 @@ gtk_box_class_init (GtkBoxClass *class) widget_class->get_preferred_width_for_height = gtk_box_get_preferred_width_for_height; widget_class->compute_expand = gtk_box_compute_expand; widget_class->direction_changed = gtk_box_direction_changed; - widget_class->get_accessible = gtk_box_get_accessible; container_class->add = gtk_box_add; container_class->remove = gtk_box_remove; @@ -316,6 +314,8 @@ gtk_box_class_init (GtkBoxClass *class) GTK_PARAM_READWRITE)); g_type_class_add_private (object_class, sizeof (GtkBoxPrivate)); + + gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_BOX_ACCESSIBLE); } static void @@ -1354,19 +1354,6 @@ gtk_box_get_preferred_height_for_width (GtkWidget *widget, gtk_box_compute_size_for_orientation (box, width, minimum_height, natural_height); } -static AtkObject * -gtk_box_get_accessible (GtkWidget *widget) -{ - AtkObject *obj; - - obj = GTK_WIDGET_CLASS (gtk_box_parent_class)->get_accessible (widget); - - if (atk_object_get_role (obj) == ATK_ROLE_UNKNOWN) - atk_object_set_role (obj, ATK_ROLE_FILLER); - - return obj; -} - /** * gtk_box_new: * @orientation: the box's orientation. diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c index 2c33a1ac15..643edaef20 100644 --- a/gtk/gtkexpander.c +++ b/gtk/gtkexpander.c @@ -114,6 +114,7 @@ #include "gtkintl.h" #include "gtkprivate.h" #include "gtkdnd.h" +#include "a11y/gtkexpanderaccessible.h" #define DEFAULT_EXPANDER_SIZE 10 @@ -375,6 +376,8 @@ gtk_expander_class_init (GtkExpanderClass *klass) NULL, NULL, _gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); + + gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_EXPANDER_ACCESSIBLE); } static void diff --git a/tests/a11y/about.txt b/tests/a11y/about.txt index 59dc07d323..c2c0fed15d 100644 --- a/tests/a11y/about.txt +++ b/tests/a11y/about.txt @@ -7,7 +7,7 @@ window1 layer: window alpha: 1 - unnamed-GailContainer-0 + unnamed-GtkBoxAccessible-0 "filler" parent: window1 index: 0 @@ -16,9 +16,9 @@ window1 layer: widget alpha: 1 - unnamed-GailContainer-1 + unnamed-GtkBoxAccessible-1 "filler" - parent: unnamed-GailContainer-0 + parent: unnamed-GtkBoxAccessible-0 index: 0 state: enabled sensitive showing vertical visible toolkit: gail @@ -27,7 +27,7 @@ window1 alpha: 1 unnamed-GtkImageAccessible-2 "icon" - parent: unnamed-GailContainer-1 + parent: unnamed-GtkBoxAccessible-1 index: 0 state: enabled sensitive showing visible toolkit: gail @@ -39,7 +39,7 @@ window1 image description: (null) FancyPants "label" - parent: unnamed-GailContainer-1 + parent: unnamed-GtkBoxAccessible-1 index: 1 name: FancyPants state: enabled focusable multi-line sensitive showing visible @@ -78,7 +78,7 @@ window1 wrap-mode: word unnamed-GtkNotebookAccessible-3 "page tab list" - parent: unnamed-GailContainer-1 + parent: unnamed-GtkBoxAccessible-1 index: 2 state: enabled sensitive showing visible toolkit: gail @@ -95,7 +95,7 @@ window1 layer: widget alpha: 1 - unnamed-GailContainer-5 + unnamed-GtkBoxAccessible-5 "filler" index: 0 state: enabled sensitive showing vertical visible @@ -105,7 +105,7 @@ window1 alpha: 1 0.99 "label" - parent: unnamed-GailContainer-5 + parent: unnamed-GtkBoxAccessible-5 index: 0 name: 0.99 state: enabled focusable multi-line sensitive showing visible @@ -144,7 +144,7 @@ window1 wrap-mode: word comments "label" - parent: unnamed-GailContainer-5 + parent: unnamed-GtkBoxAccessible-5 index: 1 name: comments state: enabled focusable multi-line sensitive showing visible @@ -181,9 +181,9 @@ window1 variant: weight: wrap-mode: word - unnamed-GailContainer-6 + unnamed-GtkBoxAccessible-6 "filler" - parent: unnamed-GailContainer-5 + parent: unnamed-GtkBoxAccessible-5 index: 2 state: enabled horizontal sensitive showing visible toolkit: gail @@ -192,7 +192,7 @@ window1 alpha: 1 Homepage "label" - parent: unnamed-GailContainer-6 + parent: unnamed-GtkBoxAccessible-6 index: 0 name: Homepage state: enabled focusable multi-line sensitive showing visible @@ -231,7 +231,7 @@ window1 wrap-mode: word no comments "label" - parent: unnamed-GailContainer-5 + parent: unnamed-GtkBoxAccessible-5 index: 3 name: no comments state: enabled focusable multi-line sensitive showing visible @@ -270,7 +270,7 @@ window1 wrap-mode: word This program comes with ABSOLUTELY NO WARRANTY; for details, visit http://www.gnu.org/licenses/gpl.html "label" - parent: unnamed-GailContainer-5 + parent: unnamed-GtkBoxAccessible-5 index: 4 name: This program comes with ABSOLUTELY NO WARRANTY; for details, visit http://www.gnu.org/licenses/gpl.html state: enabled focusable multi-line sensitive showing visible @@ -307,9 +307,9 @@ window1 variant: weight: wrap-mode: word - unnamed-GailContainer-7 + unnamed-GtkBoxAccessible-7 "filler" - parent: unnamed-GailContainer-0 + parent: unnamed-GtkBoxAccessible-0 index: 1 state: enabled horizontal sensitive showing visible toolkit: gail @@ -318,7 +318,7 @@ window1 alpha: 1 License "toggle button" - parent: unnamed-GailContainer-7 + parent: unnamed-GtkBoxAccessible-7 index: 0 name: License state: enabled focusable sensitive @@ -365,7 +365,7 @@ window1 action 0 keybinding: l Credits "toggle button" - parent: unnamed-GailContainer-7 + parent: unnamed-GtkBoxAccessible-7 index: 1 name: Credits state: enabled focusable sensitive @@ -412,7 +412,7 @@ window1 action 0 keybinding: r Close "push button" - parent: unnamed-GailContainer-7 + parent: unnamed-GtkBoxAccessible-7 index: 2 name: Close state: enabled focusable sensitive showing visible default diff --git a/tests/a11y/appchooser.txt b/tests/a11y/appchooser.txt index 213b8ff850..c27d4161f2 100644 --- a/tests/a11y/appchooser.txt +++ b/tests/a11y/appchooser.txt @@ -7,7 +7,7 @@ window1 layer: window alpha: 1 - unnamed-GailContainer-0 + unnamed-GtkBoxAccessible-0 "filler" parent: window1 index: 0 @@ -16,18 +16,18 @@ window1 layer: widget alpha: 1 - unnamed-GailContainer-1 + unnamed-GtkBoxAccessible-1 "filler" - parent: unnamed-GailContainer-0 + parent: unnamed-GtkBoxAccessible-0 index: 0 state: enabled sensitive showing vertical visible toolkit: gail layer: widget alpha: 1 - unnamed-GailContainer-2 + unnamed-GtkBoxAccessible-2 "filler" - parent: unnamed-GailContainer-1 + parent: unnamed-GtkBoxAccessible-1 index: 0 state: enabled sensitive showing vertical visible toolkit: gail @@ -36,7 +36,7 @@ window1 alpha: 1 Select an application for "(null)" files "label" - parent: unnamed-GailContainer-2 + parent: unnamed-GtkBoxAccessible-2 index: 0 name: Select an application for "(null)" files state: enabled multi-line sensitive showing visible @@ -73,9 +73,9 @@ window1 variant: weight: wrap-mode: word - unnamed-GailContainer-3 + unnamed-GtkBoxAccessible-3 "filler" - parent: unnamed-GailContainer-2 + parent: unnamed-GtkBoxAccessible-2 index: 1 state: enabled sensitive showing vertical visible toolkit: gail @@ -84,7 +84,7 @@ window1 alpha: 1 unnamed-GtkScrolledWindowAccessible-4 "scroll pane" - parent: unnamed-GailContainer-3 + parent: unnamed-GtkBoxAccessible-3 index: 0 state: enabled focusable sensitive showing visible toolkit: gail @@ -425,7 +425,7 @@ Click "Show other applications", for more options, or "Find applications online" minimum increment: 29.800000 Show other applications "push button" - parent: unnamed-GailContainer-3 + parent: unnamed-GtkBoxAccessible-3 index: 1 name: Show other applications state: enabled focusable sensitive showing visible @@ -469,9 +469,9 @@ Click "Show other applications", for more options, or "Find applications online" image description: (null) action 0 name: click - unnamed-GailContainer-10 + unnamed-GtkBoxAccessible-10 "filler" - parent: unnamed-GailContainer-0 + parent: unnamed-GtkBoxAccessible-0 index: 1 state: enabled horizontal sensitive showing visible toolkit: gail @@ -480,7 +480,7 @@ Click "Show other applications", for more options, or "Find applications online" alpha: 1 Select "push button" - parent: unnamed-GailContainer-10 + parent: unnamed-GtkBoxAccessible-10 index: 0 name: Select state: enabled focusable sensitive showing visible default @@ -527,7 +527,7 @@ Click "Show other applications", for more options, or "Find applications online" action 0 keybinding: s Cancel "push button" - parent: unnamed-GailContainer-10 + parent: unnamed-GtkBoxAccessible-10 index: 1 name: Cancel state: enabled focusable sensitive showing visible diff --git a/tests/a11y/assistant.txt b/tests/a11y/assistant.txt index 889f1c5c36..ce8e074315 100644 --- a/tests/a11y/assistant.txt +++ b/tests/a11y/assistant.txt @@ -96,9 +96,9 @@ window1 image description: (null) action 0 name: click - unnamed-GailContainer-0 + unnamed-GtkBoxAccessible-0 "filler" - parent: unnamed-GailContainer-1 + parent: unnamed-GtkBoxAccessible-1 index: 1 state: enabled horizontal sensitive showing visible toolkit: gail @@ -107,7 +107,7 @@ window1 alpha: 1 Close "push button" - parent: unnamed-GailContainer-0 + parent: unnamed-GtkBoxAccessible-0 index: 0 name: Close state: enabled focusable sensitive @@ -154,7 +154,7 @@ window1 action 0 keybinding: c Cancel "push button" - parent: unnamed-GailContainer-0 + parent: unnamed-GtkBoxAccessible-0 index: 1 name: Cancel state: enabled focusable sensitive showing visible @@ -201,7 +201,7 @@ window1 action 0 keybinding: c Finish "push button" - parent: unnamed-GailContainer-0 + parent: unnamed-GtkBoxAccessible-0 index: 2 name: Finish state: focusable @@ -248,7 +248,7 @@ window1 action 0 keybinding: f Go Back "push button" - parent: unnamed-GailContainer-0 + parent: unnamed-GtkBoxAccessible-0 index: 3 name: Go Back state: enabled focusable sensitive @@ -295,7 +295,7 @@ window1 action 0 keybinding: b Continue "push button" - parent: unnamed-GailContainer-0 + parent: unnamed-GtkBoxAccessible-0 index: 4 name: Continue state: focusable showing visible @@ -342,7 +342,7 @@ window1 action 0 keybinding: o Apply "push button" - parent: unnamed-GailContainer-0 + parent: unnamed-GtkBoxAccessible-0 index: 5 name: Apply state: enabled focusable sensitive diff --git a/tests/a11y/colorchooser.txt b/tests/a11y/colorchooser.txt index a14baf769d..f1f4428f4d 100644 --- a/tests/a11y/colorchooser.txt +++ b/tests/a11y/colorchooser.txt @@ -7,7 +7,7 @@ window1 layer: window alpha: 1 - unnamed-GailContainer-0 + unnamed-GtkBoxAccessible-0 "filler" parent: window1 index: 0 @@ -16,27 +16,27 @@ window1 layer: widget alpha: 1 - unnamed-GailContainer-1 - "filler" - parent: unnamed-GailContainer-0 + unnamed-GtkBoxAccessible-1 + "color chooser" + parent: unnamed-GtkBoxAccessible-0 index: 0 state: enabled sensitive showing vertical visible toolkit: gail layer: widget alpha: 1 - unnamed-GailContainer-2 + unnamed-GtkBoxAccessible-2 "filler" - parent: unnamed-GailContainer-1 + parent: unnamed-GtkBoxAccessible-1 index: 0 state: enabled horizontal sensitive showing visible toolkit: gail layer: widget alpha: 1 - unnamed-GailContainer-3 + unnamed-GtkBoxAccessible-3 "filler" - parent: unnamed-GailContainer-2 + parent: unnamed-GtkBoxAccessible-2 index: 0 state: enabled sensitive showing vertical visible toolkit: gail @@ -45,7 +45,7 @@ window1 alpha: 1 unnamed-GailWidget-4 "color chooser" - parent: unnamed-GailContainer-3 + parent: unnamed-GtkBoxAccessible-3 index: 0 name: Color Wheel description: Select the color you want from the outer ring. Select the darkness or lightness of that color using the inner triangle. @@ -55,9 +55,9 @@ window1 layer: widget alpha: 1 - unnamed-GailContainer-5 + unnamed-GtkBoxAccessible-5 "filler" - parent: unnamed-GailContainer-3 + parent: unnamed-GtkBoxAccessible-3 index: 1 state: enabled horizontal sensitive showing visible toolkit: gail @@ -66,14 +66,14 @@ window1 alpha: 1 unnamed-GtkFrameAccessible-6 "panel" - parent: unnamed-GailContainer-5 + parent: unnamed-GtkBoxAccessible-5 index: 0 state: enabled sensitive showing visible toolkit: gail layer: widget alpha: 1 - unnamed-GailContainer-7 + unnamed-GtkBoxAccessible-7 "filler" parent: unnamed-GtkFrameAccessible-6 index: 0 @@ -84,7 +84,7 @@ window1 alpha: 1 unnamed-GailWidget-8 "unknown" - parent: unnamed-GailContainer-7 + parent: unnamed-GtkBoxAccessible-7 index: 0 description: The previously-selected color, for comparison to the color you're selecting now. state: enabled sensitive showing visible @@ -94,7 +94,7 @@ window1 alpha: 1 unnamed-GailWidget-9 "unknown" - parent: unnamed-GailContainer-7 + parent: unnamed-GtkBoxAccessible-7 index: 1 description: The color you've chosen. state: enabled sensitive showing visible @@ -104,7 +104,7 @@ window1 alpha: 1 unnamed-GailButton-10 "push button" - parent: unnamed-GailContainer-5 + parent: unnamed-GtkBoxAccessible-5 index: 1 description: Click the eyedropper, then click a color anywhere on your screen to select that color. state: enabled focusable sensitive showing visible @@ -121,9 +121,9 @@ window1 image description: (null) action 0 name: click - unnamed-GailContainer-11 + unnamed-GtkBoxAccessible-11 "filler" - parent: unnamed-GailContainer-2 + parent: unnamed-GtkBoxAccessible-2 index: 1 state: enabled sensitive showing vertical visible toolkit: gail @@ -132,7 +132,7 @@ window1 alpha: 1 unnamed-GailContainer-12 "panel" - parent: unnamed-GailContainer-11 + parent: unnamed-GtkBoxAccessible-11 index: 0 state: enabled sensitive showing visible toolkit: gail @@ -865,9 +865,9 @@ window1 variant: weight: wrap-mode: word - unnamed-GailContainer-15 + unnamed-GtkBoxAccessible-15 "filler" - parent: unnamed-GailContainer-11 + parent: unnamed-GtkBoxAccessible-11 index: 1 state: enabled sensitive vertical toolkit: gail @@ -876,7 +876,7 @@ window1 alpha: 1 Palette: "label" - parent: unnamed-GailContainer-15 + parent: unnamed-GtkBoxAccessible-15 index: 0 name: Palette: label-for: unnamed-GailWidget-16 @@ -916,7 +916,7 @@ window1 wrap-mode: word unnamed-GailContainer-17 "panel" - parent: unnamed-GailContainer-15 + parent: unnamed-GtkBoxAccessible-15 index: 1 state: enabled sensitive visible toolkit: gail @@ -1304,9 +1304,9 @@ window1 layer: widget alpha: 1 - unnamed-GailContainer-57 + unnamed-GtkBoxAccessible-57 "filler" - parent: unnamed-GailContainer-0 + parent: unnamed-GtkBoxAccessible-0 index: 1 state: enabled horizontal sensitive showing visible toolkit: gail @@ -1315,7 +1315,7 @@ window1 alpha: 1 Help "push button" - parent: unnamed-GailContainer-57 + parent: unnamed-GtkBoxAccessible-57 index: 0 name: Help state: enabled focusable sensitive @@ -1362,7 +1362,7 @@ window1 action 0 keybinding: h OK "push button" - parent: unnamed-GailContainer-57 + parent: unnamed-GtkBoxAccessible-57 index: 1 name: OK state: enabled focusable sensitive showing visible default @@ -1409,7 +1409,7 @@ window1 action 0 keybinding: o Cancel "push button" - parent: unnamed-GailContainer-57 + parent: unnamed-GtkBoxAccessible-57 index: 2 name: Cancel state: enabled focusable sensitive showing visible diff --git a/tests/a11y/infobar.txt b/tests/a11y/infobar.txt index 9214820b7a..097ac7bae8 100644 --- a/tests/a11y/infobar.txt +++ b/tests/a11y/infobar.txt @@ -63,7 +63,7 @@ window1 variant: weight: wrap-mode: word - unnamed-GailContainer-0 + unnamed-GtkBoxAccessible-0 "filler" parent: bar1 index: 1 diff --git a/tests/a11y/messagedialog.txt b/tests/a11y/messagedialog.txt index e95bdfb17d..bb52eddd47 100644 --- a/tests/a11y/messagedialog.txt +++ b/tests/a11y/messagedialog.txt @@ -7,7 +7,7 @@ window1 layer: window alpha: 1 - unnamed-GailContainer-0 + unnamed-GtkBoxAccessible-0 "filler" parent: window1 index: 0 @@ -16,9 +16,9 @@ window1 layer: widget alpha: 1 - unnamed-GailContainer-1 + unnamed-GtkBoxAccessible-1 "filler" - parent: unnamed-GailContainer-0 + parent: unnamed-GtkBoxAccessible-0 index: 0 state: enabled horizontal sensitive showing visible toolkit: gail @@ -27,7 +27,7 @@ window1 alpha: 1 unnamed-GtkImageAccessible-2 "icon" - parent: unnamed-GailContainer-1 + parent: unnamed-GtkBoxAccessible-1 index: 0 name: Information state: enabled sensitive showing visible @@ -38,9 +38,9 @@ window1 image size: 48 x 48 image description: (null) - unnamed-GailContainer-3 + unnamed-GtkBoxAccessible-3 "filler" - parent: unnamed-GailContainer-1 + parent: unnamed-GtkBoxAccessible-1 index: 1 state: enabled sensitive showing vertical visible toolkit: gail @@ -49,7 +49,7 @@ window1 alpha: 1 Information "label" - parent: unnamed-GailContainer-3 + parent: unnamed-GtkBoxAccessible-3 index: 0 name: Information state: enabled focusable multi-line sensitive showing visible @@ -88,7 +88,7 @@ window1 wrap-mode: word More Information "label" - parent: unnamed-GailContainer-3 + parent: unnamed-GtkBoxAccessible-3 index: 1 name: More Information state: enabled focusable multi-line sensitive showing visible @@ -125,9 +125,9 @@ window1 variant: weight: wrap-mode: word - unnamed-GailContainer-4 + unnamed-GtkBoxAccessible-4 "filler" - parent: unnamed-GailContainer-0 + parent: unnamed-GtkBoxAccessible-0 index: 1 state: enabled horizontal sensitive showing visible toolkit: gail diff --git a/tests/a11y/placeholder-text.txt b/tests/a11y/placeholder-text.txt index a995de2556..1b4cfb6c3f 100644 --- a/tests/a11y/placeholder-text.txt +++ b/tests/a11y/placeholder-text.txt @@ -7,7 +7,7 @@ window1 layer: window alpha: 1 box1 - "panel" + "filler" parent: window1 index: 0 state: enabled sensitive showing vertical visible -- 2.30.2